Oilfield operations involve various sub-activities used to locate and gather valuable hydrocarbons. Various tools, such as seismic tools, are often used to locate the hydrocarbons. One or more wellsites may be positioned along an oilfield to locate and gather the hydrocarbons from subterranean reservoirs of an oilfield. The wellsites are provided with tools capable of advancing into the ground and removing hydrocarbons from the subterranean reservoirs. Production facilities are positioned at surface locations to collect the hydrocarbons from the wellsite(s). Fluid is drawn from the subterranean reservoir(s) and passes to the production facilities via transport mechanisms, such as tubing. Various equipment is positioned about the oilfield to monitor and manipulate the flow of hydrocarbons from the reservoir(s).
During oilfield operations, it is often desirable to monitor various oilfield parameters, such as fluid flow rates, composition, etc. Sensors may be positioned about the oilfield to collect data relating to the wellsite and the processing facility, among others. For example, sensors in the wellbore may monitor fluid composition, sensors located along the flow path may monitor flow rates, and sensors at the processing facility may monitor fluids collected. The monitored data is often used to make real-time decisions at the oilfield. Data collected by these sensors may be further analyzed and processed.
The processed data may be used to determine conditions at the wellsite(s) and/or other portions of the oilfield, and make decisions concerning these activities. Operating parameters, such as wellsite setup, drilling trajectories, flow rates, wellbore pressures, production rates and other parameters, may be adjusted based on the received information. In some cases, known patterns of behavior of various oilfield configurations, geological factors, operating conditions or other parameters may be collected over time to predict future oilfield activities.
Oilfield data is often used to monitor and/or perform various oilfield operations. There are numerous factors that may be considered in operating an oilfield. Thus, the analysis of large quantifies of a wide variety of data is often complex. Over the years, oilfield applications have been developed to assist in processing data. For example, simulators, or other scientific applications, have been developed to take large amounts of oilfield data and to model various oilfield activities. Typically, there are different types of simulators for different purposes. Examples of these simulators are described in patent/Application Nos. U.S. Pat. No. 5,992,519, WO2004/049216, and U.S. Pat. No. 6,980,940.
Numerous oilfield operations, such as drilling, evaluating, completing, monitoring, producing, simulating, reporting, etc., may be performed. Typically, each oilfield activity is performed and controlled separately using separate oilfield applications that are each written for a single purpose. Thus, many such operations are often performed using separate oilfield applications. In some cases, it may be necessary to develop special applications, or modify existing applications to provide the necessary functionality.
Some applications specialize in analyzing and providing a visualization of large datasets. A dataset is a group of data elements. For example, a dataset may correspond to a collection of data elements obtained from sensory data. Specifically, when identifying a possible area for oilfield exploration, seismic data representing rock and soil densities may be collected from sample points in a geological area. By interpolation, a dataset may be derived for the entire geological area. An oilfield application may be used to visualize the dataset in the entire region. Based on the visualization, a decision maker may determine whether to perform further planning and exploration of the geological area.
Typically, for an oilfield application to process the dataset, the oilfield application opens the file having the dataset and iterates through each data element in the dataset to process each data element. To iterate through the application, knowledge of the layout of the dataset in memory is used by the programmer to improve performance. For example, if the dataset is organized such that data elements in the same row are next to each other in memory and data elements in the same column are not next to each other, then it may be advantageous to iterate through the data elements in each row before switching to the next column. The iteration and processing may be performed multiple times throughout the application. Thus, when the layout of the dataset in memory changes, the oilfield application is redesigned and recompiled for the new dataset.